<!-- 
    当前学的 Vue 提供的标签：
        component, template, transition, transition-group
 -->

<!DOCTYPE html>
<html lang="CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    
    <script src="libs/js/vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- Vue.js 提供的 component， 来展示对应名称的组件 -->
        <!-- component 是一个占位符， :is 属性，用来指定要展示的组件的名称  -->
        <!-- login 要用 单引号包起来，这样才是个字符串，不然会被理解为变量或者方法 -->
        <!-- 通过 :is 绑定变量，可以进行 多组件切换 -->
        <a href="" @click.prevent="comName='login'">登录</a>
        <a href="" @click.prevent="comName='register'">注册</a>
        <component :is="comName"></component>
    </div>
    
    <template id="login">
        <h3>登录组件</h3>
    </template>
    <template id="register">
            <h3>注册组件</h3>
        </template>

    <script>
        // 定义自定义组件
        Vue.component("login", {
            template: "#login"
        })
        Vue.component("register", {
            template: "#register"
        })

        var app = new Vue({
            el: "#app",
            data: {
                comName: "login"     // 当前 component 组件中 :is 绑定的组件名称
            },
            methods: {}
        })
    </script>
</body>
</html>